import request from '@/config/axios'

/**
 * 课程类目
 */
export interface CategoryVO {
  /**
   * 类目ID
   */
  id?: number
  /**
   * 类目名称
   */
  categoryName: string
  /**
   * 类目编号
   */
  categoryId?: string
  /**
   * 父类目ID
   */
  parentId?: number
  /**
   * 类目图标
   */
  categoryIcon?: string
  /**
   * 关联课程数
   */
  courseCount?: number
  /**
   * 排序
   */
  sortOrder?: number
  /**
   * 创建者
   */
  createBy?: string
  /**
   * 创建时间
   */
  createTime?: string
  /**
   * 启用状态
   */
  enableStatus?: boolean
  /**
   * 子类目
   */
  childrenCategory?: CategoryVO[]
}

// 获取课程类目列表
export const getCategoryList = (params?: any) => {
  // 添加默认分页参数
  const defaultParams = {
    pageNo: 1,
    pageSize: 10,
    ...params
  }
  return request.get({ url: '/course/category/list', params: defaultParams })
}

// 获取课程类目详情
export const getCategory = (id: number) => {
  return request.get({ url: `/course/category/get?id=${id}` })
}

// 创建课程类目
export const createCategory = (data: CategoryVO) => {
  return request.post({ url: '/course/category/create', data })
}

// 更新课程类目
export const updateCategory = (data: CategoryVO) => {
  return request.put({ url: '/course/category/update', data })
}

// 删除课程类目
export const deleteCategory = (id: number) => {
  return request.delete({ url: `/course/category/delete?id=${id}` })
}
